A widely known technique for detecting information on sound pitches (hereinafter referred to as “pitch information”) from sound signals is, for example, using autocorrelation to detect the pitch information. Another known method is identifying the pitch information from envelopes of input sound signals, as disclosed for example in Patent Document 1 (Japanese Patent No. 4210934). Patent Document 2 (Japanese Patent Application Laid-Open Publication No. 11-311988) discloses employing multiple pitch detectors to detect the multiple pieces of pitch information and selecting the optimum piece among them.
Some sound signals, however, include a large number of frequency components of overtones in a particular sound range, and at the same time, contain erratic waveform peaks in a different sound range of those sound signals.
The technique in Patent Document 1 generates an envelope that follows, at a predetermined time constant, an input waveform of a sound signal, and puts the envelope on hold at a timing where the input waveform crosses the zero line, and at a later timing where the input waveform exceeds the level of the envelope on hold again generates the envelope that follows the input waveform. Sound signals in general include peaks corresponding to fundamental tones and also other peaks (e.g., peaks corresponding to overtones or harmonics), and the pitch of a sound signal is defined by peak intervals (periods) of the fundamental tones. For this reason, envelopes must appropriately outline the peaks of the fundamental tones. But when the technique of Patent Document 1 is applied, an envelope sharply attenuates if a time constant is set to a small value, and hence, the envelope would be held at small amplitude (intensity). This in turn likely causes erroneous detection of peaks different from peaks that are the primary target corresponding to the fundamental tones, resulting in failure to detect a pitch of a sound signal with a high degree of accuracy in a sound range that contains a number of overtone frequency components. In contrast, if the time constant is set to a large value, the envelope attenuates slowly, the envelope is held at large amplitude, and there will be lower probability of erroneous detection of peaks different from the primary target peaks. In a sound range where peaks tend to be erratic, however, the peaks of the fundamental tones may fall below the hold level of the waveform, and a pitch cannot be accurately detected in such a case. Thus, with the technique of Patent Document 1, only in a limited range of frequencies can a pitch be detected with a high degree of accuracy.
A problem with using autocorrelation is that a larger amount of calculation is involved compared to using a method of identifying pitch information based on an envelope. In such cases where frequency characteristics of the fundamental tones are unlikely to appear in a waveform, as in the lowest tone of pianos, or when overtones do not appear at simple integer multiples of the fundamental tones, which otherwise are supposed to appear at the integer multiples (so called “inharmonicity”), a waveform from a peak to a subsequent peak for fundamental tones does not necessarily match that from the subsequent peak to a peak after the subsequent peak, and detecting pitch information with autocorrelation might result in failure. The pitch detectors employed in the technique of Patent Document 2 each detect pitch information based on correlation between a predetermined period of an input waveform (template waveform) and the input waveform. Therefore, in such cases where frequency characteristics of fundamental tones are unlikely to appear in a waveform, a problem that is similar to that in the case of using autocorrelation might arise.
With consideration of the above-described circumstances, the present invention has as an object to generate highly accurate pitch information of sound signals for a wider sound range with a smaller amount of calculation.